import request from '@/utils/request'

/**
 * 词缀相关API
 */
export default {
  /**
   * 获取词缀列表
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getAffixes(params) {
    return request({
      url: '/affixes',
      method: 'get',
      params
    })
  },

  /**
   * 获取词缀详情
   * @param {Number|String} id - 词缀ID
   * @returns {Promise}
   */
  getAffix(id) {
    return request({
      url: `/affixes/${id}`,
      method: 'get'
    })
  },

  /**
   * 创建词缀
   * @param {Object} data - 词缀数据
   * @returns {Promise}
   */
  createAffix(data) {
    return request({
      url: '/affixes',
      method: 'post',
      data
    })
  },

  /**
   * 更新词缀
   * @param {Number|String} id - 词缀ID
   * @param {Object} data - 词缀数据
   * @returns {Promise}
   */
  updateAffix(id, data) {
    return request({
      url: `/affixes/${id}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除词缀
   * @param {Number|String} id - 词缀ID
   * @returns {Promise}
   */
  deleteAffix(id) {
    return request({
      url: `/affixes/${id}`,
      method: 'delete'
    })
  },

  /**
   * 搜索词缀
   * @param {Object} params - 搜索参数
   * @returns {Promise}
   */
  searchAffixes(params) {
    return request({
      url: '/affixes/search',
      method: 'get',
      params
    })
  },

  /**
   * 获取词缀相关单词
   * @param {Number|String} id - 词缀ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getAffixWords(id, params) {
    return request({
      url: `/affixes/${id}/words`,
      method: 'get',
      params
    })
  },

  /**
   * 根据类型获取词缀
   * @param {String} type - 词缀类型 (prefix, suffix, infix)
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getAffixesByType(type, params) {
    return request({
      url: `/affixes/types/${type}`,
      method: 'get',
      params
    })
  }
} 